Wannafly挑战赛18 B.异或和

给出小B出现在每个位置的可能性,用一个 $n*m$ 的 $01$ 矩阵表示,小B等概率出现在所有1的位置。求 小A 在每个位置上与 小B 期望 曼哈顿距离的异或和,先把期望取模之后再异或 $(n,m<=500)$


题解

最后答案不能再取 $mod!!!$
曼哈顿距离可以分别拆分为x和y方向,分别算贡献即可

这道题显然可以 $n^2$ 预处理然后 $n*m$ 暴力算贡献

$O(n)$ 预处理的方法算贡献:

利用前缀和思想,对每一行/每一列分别正着和倒着前缀和一遍,便可以得出每行上面和下面,每列左边和右边的贡献